package com.sws.quartz.task;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.sws.person.mapper.PerPersonMapper;


/**
 * 人员表定时清理任务
 * 
 * @author sws
 */
@Component("perPersonCleanTask")
public class PerPersonCleanTask {
    
    private static final Logger log = LoggerFactory.getLogger(PerPersonCleanTask.class);
    
    @Autowired
    private PerPersonMapper perPersonMapper;
    
    /**
     * 定时物理清理被标记为逻辑删除的人员信息
     * 每天执行一次，将已被标记为逻辑删除的人员记录从数据库中彻底删除
     */
    public void cleanLogicalDeletedPersons() {
        log.info("开始执行人员信息物理清理任务");
        try {
            // 执行清理操作，删除所有del_flag为1的记录
            int count = perPersonMapper.physicalDeleteLogicalDeletedPersons();
            log.info("人员信息物理清理任务完成，共清理 {} 条逻辑删除记录", count);
        } catch (Exception e) {
            log.error("执行人员信息物理清理任务时发生错误", e);
        }
    }
} 